#pragma once
#define COLOR_BLACK     0
#define COLOR_BLUE      1
#define COLOR_GREEN     2
#define COLOR_CYAN      3
#define COLOR_RED       4
#define COLOR_PINK      5
#define COLOR_YELLOW    6
#define COLOR_WHITE     7
#define COLOR_HBLACK    8
#define COLOR_HBLUE     9
#define COLOR_HGREEN    10
#define COLOR_HCYAN     11
#define COLOR_HRED      12
#define COLOR_HPINK     13
#define COLOR_HYELLOW   14
#define COLOR_HWHITE    15
#define CURSOR_VISIBLE_FULL     0
#define CURSOR_VISIBLE_HALF     1
#define CURSOR_VISIBLE_NORMAL   2
#define CURSOR_INVISIBLE        3
void cct_cls(void);
void cct_setcolor(const int bg_color = COLOR_BLACK, const int fg_color = COLOR_WHITE);
void cct_getcolor(int& bg_color, int& fg_color);
void cct_gotoxy(const int X, const int Y);
void cct_getxy(int& x, int& y);
void cct_setcursor(const int options);
void cct_showch(const int X, const int Y, const char ch, const int bg_color = COLOR_BLACK, const int fg_color = COLOR_WHITE, const int rpt = 1);
void cct_showstr(const int X, const int Y, const char* str, const int bg_color = COLOR_BLACK, const int fg_color = COLOR_WHITE, int rpt = 1, int max_len = -1);
void cct_showint(const int X, const int Y, const int num, const int bg_color = COLOR_BLACK, const int fg_color = COLOR_WHITE, const int rpt = 1);